# 模块能定义函数 类 变量 模块里面也能包含可执行的代码
# 导入模块
# import random
# # 模块math 第一种
# import math
# # 使用 模块名.函数（对象）
# math.log2(8)

# 第二种 from 模块名 import *
# from math import *
# print(log2(8))

# 第三种 精确导入 from math import log
# from math import log
# print(log2(8))

# 第四种 导入之后重命名
# import multiprocessing as mp
#
# from math import log2 as lg2

# 自定义模块 模块名称就是文件名
# 调用自定义模块 导入模块时会把所有模块代码都执行一遍
import my_module
# print(my_module.my_sum(10))

# 注意事项 有相同的名称 用到的是后面 注意不要命名冲突
# 对模块位置的搜索 首先是当前目录 ，如果当前目录没有 python就会搜索在shell 变量 PYTHONPATH的每个目录 sys.path 可以查看  注意注意 文件名不要和模块名重复
# import sys
# print(sys.path)

# python的包 导入 from 包名.模块名 import *
